﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DADOS.auxiliares;
using DADOS.usuario;

namespace PROAD.atendimento.Relatorio
{
    public partial class RelSocioEconomico : System.Web.UI.Page
    {

        DADOS.usuario.metContexto metCont = new metContexto();
        DADOS.usuario.metCuidador metCuid = new metCuidador();
        DADOS.auxiliares.ClassParentesco metAuxCuid = new ClassParentesco();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Session["CO_USUARIO"] != null)
                {
                    lblUsurario.Text = "Nome do Paciente: " + Session["NO_NOME"];

                    hdfCodUsuario.Value = Session["CO_USUARIO"].ToString();

                    var objCont = metCont.SelecionarContexto(Convert.ToInt32(hdfCodUsuario.Value));

                    if (objCont != null)
                    {
                        hdfCodContexto.Value = objCont.CO_CONTEXTO.ToString();
                        CarregarForm(objCont);
                        CarregarGridCuidador();
                    }
                    else
                    {
                       
                        CarregarGridCuidador();
                    }

                }
                else
                {
                    Response.Redirect("/atendimento/Consulta/ConsultaUsuarioParaAtm.aspx");
                }
            }
        }

        protected void rtsDadoPaciente_TabClick(object sender, Telerik.Web.UI.RadTabStripEventArgs e)
        {
            switch (e.Tab.TabIndex)
            {
                case 0: Response.Redirect("/atendimento/Relatorio/RelDadosPaciente.aspx");
                    break;
                case 1: Response.Redirect("/atendimento/Relatorio/RelAnamnese.aspx");
                    break;
                case 2: Response.Redirect("/atendimento/Relatorio/RelAvd.aspx");
                    break;
                case 3: Response.Redirect("/atendimento/Relatorio/RelSocioEconomico.aspx");
                    break;
                case 4: Response.Redirect("/atendimento/Relatorio/RelClassificacaoFinal.aspx");
                    break;
                case 5: Response.Redirect("/atendimento/Relatorio/RelGestaoCuidados.aspx");
                    break;
            }
        }

        private void CarregarForm(DADOS.TB_CONTEXTO objContexto)
        {
            switch (objContexto.NR_Q_1)
            {
                case 1:
                    lblEscolaridade.Text = "Ensino fundamental";
                    break;
                case 2:
                    lblEscolaridade.Text = "Ensino Médio";
                    break;
                case 3:
                    lblEscolaridade.Text = "Superior Incompleto";
                    break;
                case 4:
                    lblEscolaridade.Text = "Superior Completo";
                    break;
                case 0:
                    lblEscolaridade.Text = "Sem escolaridade";
                    break;
            }

            switch (objContexto.NR_Q_2)
            {
                case 0:
                    lblSalario.Text = "Até 1/2 SM";
                    break;
                case 1:
                    lblSalario.Text = "De 1/2 à 1 SM";
                    break;
                case 2:
                    lblSalario.Text = "De 1 à 2 SM";
                    break;
                case 3:
                    lblSalario.Text = "De 2 à 3 SM";
                    break;
                case 4:
                    lblSalario.Text = "De 3 à 5 SM";
                    break;
                case 5:
                    lblSalario.Text = "De 5 à 10 SM";
                    break;
                case 6:
                    lblSalario.Text = "Acima de 10";
                    break;
                case 7:
                    lblSalario.Text = "Sem rendimentos";
                    break;
                case 8:
                    lblSalario.Text = "Não declarado";
                    break;
                case 9:
                    lblSalario.Text = "outros";
                    break;
            }

            if (!string.IsNullOrEmpty(objContexto.NR_Q_2_OUTROS)) lblOutros.Text = objContexto.NR_Q_2_OUTROS;
            lblIdade.Text = objContexto.NR_Q_3.ToString();

            lblSexo.Text = objContexto.NR_Q_4 == 1 ? "Masculino" : "Feminino";


            if (objContexto.NR_Q_SENT_1 == 1) lblSentimento.Text = "Deixou de fazer as coisas do dia-a-dia; Deixou de trabalhar / de fazer atividades de lazer; Não faz mais nada<br />";
            if (objContexto.NR_Q_SENT_2 == 1) lblSentimento.Text += "Sente-se sozinho(a), triste e/ou cansado(a)<br />";
            if (objContexto.NR_Q_SENT_3 == 1) lblSentimento.Text += "Dependente, envergonhado(a) e culpado(a) pelo fato dos outros fazerem as coisas para ele(a)<br />";
            if (objContexto.NR_Q_SENT_4 == 1) lblSentimento.Text += "A doença afetou o ritmo de vida e de trabalho da família<br />";
            if (objContexto.NR_Q_SENT_5 == 1) lblSentimento.Text += "Alterações no relacionamento afetivo entre os membros da família<br />";
            if (objContexto.NR_Q_SENT_6 == 1) lblSentimento.Text += "Modificações no relacionamento afetivo-sexual do usuário<br />";
            if (objContexto.NR_Q_SENT_7 == 1) lblSentimento.Text += "Sem alterações no relacionamento entre os membros da família<br />";
            if (objContexto.NR_Q_SENT_8 == 1) lblSentimento.Text += "O dia-a-dia se resume às necessidades vitais e ficar em casa<br />";
            if (objContexto.NR_Q_SENT_9 == 1) lblSentimento.Text += "Não se aplica (caso o usuário não fale)<br />";

            switch (objContexto.NR_Q_SOZINHO)
            {
                case 1:
                    lblSenteSozinho.Text = "Sempre";
                    break;
                case 2:
                    lblSenteSozinho.Text = "Frequentemente";
                    break;
                case 3:
                    lblSenteSozinho.Text = "Às vezes";
                    break;
                case 4:
                    lblSenteSozinho.Text = "Raramente";
                    break;
                case 5:
                    lblSenteSozinho.Text = "Nunca";
                    break;
                case 6:
                    lblSenteSozinho.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_1_1)
            {
                case 1:
                    lblCondLimpeza.Text = "Adequado";
                    break;
                case 2:
                    lblCondLimpeza.Text = "Inadequado";
                    break;
                case 3:
                    lblCondLimpeza.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_1_2)
            {
                case 1:
                    lblVentilacao.Text = "Adequado";
                    break;
                case 2:
                    lblVentilacao.Text = "Inadequado";
                    break;
                case 3:
                    lblVentilacao.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_1_3)
            {
                case 1:
                    lblTapetes.Text = "Não";
                    break;
                case 2:
                    lblTapetes.Text = "Sim";
                    break;
                case 3:
                    lblTapetes.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_1_4)
            {
                case 1:
                    lblUmidade.Text = "Não";
                    break;
                case 2:
                    lblUmidade.Text = "Sim";
                    break;
                case 3:
                    lblUmidade.Text = "Não avaliado";
                    break;
            }
            switch (objContexto.NR_Q_AMB_1_5)
            {
                case 1:
                    lblPisoEscorregadio.Text = "Não";
                    break;
                case 2:
                    lblPisoEscorregadio.Text = "Sim";
                    break;
                case 3:
                    lblPisoEscorregadio.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_1_6)
            {
                case 1:
                    lblDegraus.Text = "Não";
                    break;
                case 2:
                    lblDegraus.Text = "Sim";
                    break;
                case 3:
                    lblDegraus.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_1_7)
            {
                case 1:
                    lblRampas.Text = "Não";
                    break;
                case 2:
                    lblRampas.Text = "Sim";
                    break;
                case 3:
                    lblRampas.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_1_8)
            {
                case 1:
                    lblDesnivelamento.Text = "Não";
                    break;
                case 2:
                    lblDesnivelamento.Text = "Sim";
                    break;
                case 3:
                    lblDesnivelamento.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_2_1)
            {
                case 1:
                    lblCadeiraRodas.Text = "Necessário e disponível";
                    break;
                case 2:
                    lblCadeiraRodas.Text = "Necessário e indisponível";
                    break;
                case 3:
                    lblCadeiraRodas.Text = "Não necessário";
                    break;
                case 4:
                    lblCadeiraRodas.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_2_2)
            {
                case 1:
                    lblCadeiraHigiene.Text = "Necessário e disponível";
                    break;
                case 2:
                    lblCadeiraHigiene.Text = "Necessário e indisponível";
                    break;
                case 3:
                    lblCadeiraHigiene.Text = "Não necessário";
                    break;
                case 4:
                    lblCadeiraHigiene.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_2_3)
            {
                case 1:
                    lblBengala.Text = "Necessário e disponível";
                    break;
                case 2:
                    lblBengala.Text = "Necessário e indisponível";
                    break;
                case 3:
                    lblBengala.Text = "Não necessário";
                    break;
                case 4:
                    lblBengala.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_2_4)
            {
                case 1:
                    lblAndador.Text = "Necessário e disponível";
                    break;
                case 2:
                    lblAndador.Text = "Necessário e indisponível";
                    break;
                case 3:
                    lblAndador.Text = "Não necessário";
                    break;
                case 4:
                    lblAndador.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_2_5)
            {
                case 1:
                    lblHospitalar.Text = "Necessário e disponível";
                    break;
                case 2:
                    lblHospitalar.Text = "Necessário e indisponível";
                    break;
                case 3:
                    lblHospitalar.Text = "Não necessário";
                    break;
                case 4:
                    lblHospitalar.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_2_6)
            {
                case 1:
                    lblMatCurativa.Text = "Necessário e disponível";
                    break;
                case 2:
                    lblMatCurativa.Text = "Necessário e indisponível";
                    break;
                case 3:
                    lblMatCurativa.Text = "Não necessário";
                    break;
                case 4:
                    lblMatCurativa.Text = "Não avaliado";
                    break;
            }

            switch (objContexto.NR_Q_AMB_2_7)
            {
                case 1:
                    lblColchao.Text = "Necessário e disponível";
                    break;
                case 2:
                    lblColchao.Text = "Necessário e indisponível";
                    break;
                case 3:
                    lblColchao.Text = "Não necessário";
                    break;
                case 4:
                    lblColchao.Text = "Não avaliado";
                    break;
            }
           
           
        }

        protected void CarregarGridCuidador()
        {
            var list = metCuid.Lista(Convert.ToInt32(hdfCodUsuario.Value));
            gridCuidador.DataSource = list;
            gridCuidador.DataBind();
        }

        protected void gridCuidador_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType != DataControlRowType.DataRow) return;

            int intCodSexo = Convert.ToInt32(e.Row.Cells[2].Text);
            int intCodParentesco = Convert.ToInt32(e.Row.Cells[3].Text);
            int intCodReside = Convert.ToInt32(e.Row.Cells[4].Text);
            int intCodCuidador = Convert.ToInt32(e.Row.Cells[5].Text);

            switch (intCodSexo)
            {
                case 1:
                    e.Row.Cells[2].Text = "Masculino";
                    break;
                case 2:
                    e.Row.Cells[2].Text = "Feminino";
                    break;
            }

            var listParentesco = metAuxCuid.ListaParentesco();
            var objParentesco = listParentesco.Where(q => q.CO_PARENTESCO == intCodParentesco).FirstOrDefault();
            e.Row.Cells[3].Text = objParentesco.NO_PARENTESCO;

            switch (intCodReside)
            {
                case 1:
                    e.Row.Cells[4].Text = "Não";
                    break;
                case 2:
                    e.Row.Cells[4].Text = "Sim";
                    break;
            }

            if (metCuid.ExisteEntrevista(intCodCuidador))
            {
                e.Row.Cells[5].Text = "<a href='/atendimento/Relatorio/RelEntrevistaCuidador.aspx.aspx?codCuid=" + intCodCuidador + "'>Sim</a>";
            }
            else
            {
                e.Row.Cells[5].Text = "<a href='/atendimento/Relatorio/RelEntrevistaCuidador.aspx?codCuid=" + intCodCuidador + "'>Não</a>";
            }
        }

    }
}